package com.cmc.cloud.cmclink.doc.api.document.rep;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 长期保函响应DTO
 *
 * @author zangfengyun
 */
@Data
public class GuaranteeLetterRespDTO {

    /**
     * 主键
     */
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "30588")
    private Long id;

    /**
     * 附件类型代码
     */
    @Schema(description = "附件类型代码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String attatchTypeCode;

    /**
     * 附件类型中文名称
     */
    @Schema(description = "附件类型中文名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String attatchTypeCodeCn;

    /**
     * 附件类型英文名称
     */
    @Schema(description = "附件类型英文名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String attatchTypeCodeEn;

    /**
     * 订舱人代码
     */
    @Schema(description = "订舱人代码")
    private String bkpCode;

    /**
     * 提单发货人
     */
    @Schema(description = "提单发货人")
    private String shipperCode;

    /**
     * 真实发货人
     */
    @Schema(description = "真实发货人")
    private String actualShipperCode;

    /**
     * 收货人
     */
    @Schema(description = "收货人")
    private String consigneeCode;

    /**
     * 通知人
     */
    @Schema(description = "通知人")
    private String notifyPartyCode;

    /**
     * 接货地
     */
    @Schema(description = "接货地")
    private String deliveryPlace;

    /**
     * 接货地
     */
    @Schema(description = "接货地")
    private String porCodes;
    /**
     * 装货港
     */
    @Schema(description = "装货港")
    private String polCodes;
    /**
     * 卸货点
     */
    @Schema(description = "卸货点")
    private String podCodes;
    /**
     * 目的地
     */
    @Schema(description = "目的地")
    private String delCodes;
    /**
     * hs_code
     */
    @Schema(description = "hsCode")
    private String hsCode;

    /**
     * 开始日期
     */
    @Schema(description = "开始日期")
    private LocalDateTime beginDate;
    /**
     * 结束日期
     */
    @Schema(description = "结束日期")
    private LocalDateTime endDate;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;
}
